(define (pair a b)
    (define (dispatch m)
        (cond ((= m 0) a)
              ((= m 1) b)
              (else (error "Arguments not 0 or 1 -- PAIR" m))))
    dispatch)

(define (first z) (z 0))
(define (second z) ( z 1))
